package ar.com.age.distribuidora.presentacion.controller;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.primefaces.context.RequestContext;

import ar.com.age.distribuidora.dominio.Empleado;
import ar.com.age.distribuidora.presentacion.util.ServiceLocator;

@ManagedBean
@SessionScoped
public class EditarEmpleadoBean {

	private Empleado empleadoSeleccionado;  
    
    private Empleado empleadoSeleccionadoDetalles;  


	public Empleado getEmpleadoSeleccionado() {
		return empleadoSeleccionado;
	}

	public void setEmpleadoSeleccionado(Empleado empleadoSeleccionado) {
		this.empleadoSeleccionado = empleadoSeleccionado;
	}

	public Empleado getEmpleadoSeleccionadoDetalles() {
		return empleadoSeleccionadoDetalles;
	}

	public void setEmpleadoSeleccionadoDetalles(Empleado empleadoSeleccionadoDetalles) {
		this.empleadoSeleccionadoDetalles = empleadoSeleccionadoDetalles;
	}
	
	public String actualizarEmpleado() {
		
		ServiceLocator.getUsuarioService().crearOEditarEmpleado(this.empleadoSeleccionado);
		this.empleadoSeleccionado = null;
		
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Empleado",  "Empleado editado con exito.");  
        
        FacesContext.getCurrentInstance().addMessage(null, message);  
		return "/mensajeExitoso";		
	}
	
	public String editarEmpleado() {
		
		if (this.empleadoSeleccionado != null) {

			return "editarEmpleado";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}
	
	public String eliminarEmpleado() {
		
		if (this.empleadoSeleccionado != null) {

			ServiceLocator.getUsuarioService().eliminarEmpleado(this.empleadoSeleccionado);
			return "/mensajeExitoso";

		} else {
			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Advertencia", "No ha seleccionado ningun elemento.");  
	        RequestContext.getCurrentInstance().showMessageInDialog(message);
			return null;
		}	

	}

}
